<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>Rapyd Library Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/syntax.js"></script>
<script type="text/javascript" src="../nav/syntax_php.js"></script>
<link type="text/css" href="../syntax.css" rel="stylesheet" /></head>
<body>

<!-- START NAVIGATION -->
<script type="text/javascript">create_header('../');</script>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.rapyd.com/">Rapyd Library Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">Rapyd Guide</a> &nbsp;&#8250;&nbsp;
Rapyd URI Class
</td>
<td id="searchbox">
<script type="text/javascript">create_search();</script>
</td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Rapyd URI Class</h1>

<p class="important"><strong>Important:</strong>&nbsp;
It is not a extention of Code Igniter uri class.<br/>
</p>

<p>
Rapyd URI class is an helper used by rapyd components to work with uri.<br/>
You can use this reference: <kbd>$this->rapyd->uri</kbd>.
</p>


<h2>URI Keywords</h2>
<p>
Most of rapyd components are "small applications", their "status" and their "actions" are driven by uri-segments.<br/>
So words like "show","modify","search", etc.. are reserved by rapyd.
</p>
<p>
You can configure (change) these words to prevent conflict with your "segments" (controller's names for example).
</p>



<h2>Rapyd URI Reference</h2>

<kbd>$this->rapyd->uri</kbd> (by default is instanced with rapyd, on library load).

<h5>Settings</h5>

<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
<tr>
  <th>Property</th>
  <th>Default&nbsp;Value</th>
  <th>Options</th>
  <th>Description</th>
</tr>
<tr>
  <td><strong>uri_keywords</strong></td>
  <td><pre style="font: normal 11px 'courier new'  ">array(

    'gfid'        => 'gfid',
    
    'search'      => 'search',
    'reset'       => 'reset',
    'uri_search'  => 'uri_search',

    'osp'         => 'osp',
    'orderby'     => 'orderby',

    'show'        => 'show',
    'create'      => 'create',
    'modify'      => 'modify',
    'delete'      => 'delete',
    'insert'      => 'insert',
    'update'      => 'update',
    'do_delete'   => 'do_delete'
    
  );</pre></td>
  <td>array</td>
  <td>the array values are the configurable keywords</td>
</tr>

</table>
<p class="important"><strong>Important:</strong>&nbsp;
These properties are stored in /system/application/config/rapyd.php
</p>


<h5>Methods</h5>

<p>
<strong>
 $this->rapyd->uri->keep_persistence();
</strong>
</p>
<p>
Used before rapyd components:
</p>
<textarea name="code" class="php:nogutter:nocontrols" rows="15" cols="100">
  ...
  $this->rapyd->uri->keep_persistence();
  ...
  $filter = new DataFilter....
  $grid = new DataGrid....
</textarea>
<p>
It enable page persistence.<br/>
Components "links","actions urls"  are rebuilt adding/keeping a pair of segments: <strong>gfid/xxxxx</strong> where "xxxxx" is a pointer to the session persistence item (see <a href="session.html">rapyd session class</a>).<br/>
See rapyd samples (DF+DG), it is used to keep orderby,offset,search  persistence of listing page when you "move to"/"return from" the detail page.
</p>




</div>
<!-- END CONTENT -->


<script type="text/javascript">create_footer();</script>

</body>
</html>